課程資訊
課程名稱
演算法
The Design and Analysis of Algorithms 
開課學期
102-2 
授課對象
電機資訊學院  電機工程學研究所  
授課教師
李建模 
課號
EE5048 
課程識別碼
921 U2110 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五6,7,8(13:20~16:20) 
上課地點
電二106 
備註
總人數上限:60人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1022_algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. 

課程目標
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. 
課程要求
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. 
預期每週課後學習時數
 
Office Hours
每週四 14:00~16:00 備註: 週四為PA助教輪值 若以下時間無法前來, 可以寄信另外約時間. 
指定閱讀
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009.  
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第0週
  reading materials, STL, sorting etc
(for our class only, do not distribute) 
第1週
  Introduction
Foundations (I) 
第2週
  Foundation (II) + Sorting
3/4 18:00 補課 106教室 
第3週
  Sorting (I) 
第4週
  Sorting (II) 
第5週
  Greedy and DP 
第6週
  Data Structure and Trees
(video demo of trees) 
第7週
  4/4 vacation 
第8週
  graph (I) 
第9週
  graph 
第10週
  Graphs (II): shortest path 
第11週
  Graph (III): MST, maximum flow 
第12週
  amortized analysis / NPC 
第13週
  NPC / optimization 
第14週
  matrix / linear programming / optimization 
第15週
  review 
第16週
  6/6 final exam 
第17週
  multithreaded 
第18週
  final presentation. 每組15分鐘含QA 
第19週
  demo (電機二館339)